﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using WebApplication1.Classes;

namespace WebApplication1
{
	public partial class DetalheProduto : System.Web.UI.Page
	{
		protected void Page_Load(object sender, EventArgs e)
		{
			String idProduto = Request.QueryString["idProduto"];


			if (!string.IsNullOrEmpty(idProduto))
			{
				WSDetalheProduto.ServicosService detalheProdutoServices = new WSDetalheProduto.ServicosService();
				WSDetalheProduto.ProdutoSimplificado produto = detalheProdutoServices.buscaSimplificada(Int32.Parse(idProduto));
				detalheProdutoServices.Dispose();

				WSRegistroControleEstoqueProdutos.Service1 estoqueServices = new WSRegistroControleEstoqueProdutos.Service1();
				WSRegistroControleEstoqueProdutos.Product produtoEstoque = estoqueServices.ReturnProductInfo(Int32.Parse(idProduto));
				estoqueServices.Dispose();

				WSDetalheProduto.Imagem[] listaImg = detalheProdutoServices.imagensProduto(Int32.Parse(idProduto));
				if (listaImg.Length > 0)
				{
					imgProduto.ImageUrl = listaImg[0].url;
				}

				if (produtoEstoque.Quantity > 0)
					lblQuantidade.Text = produtoEstoque.Quantity.ToString() + " unidades.";
				else
				{
					lblQuantidade.Text = "Produto Esgotado";
					lblQuantidade.ForeColor = System.Drawing.Color.Red;
					btnComprar.Visible = false;
				}

				lblPreco.Text = string.Format("{0:C}", produtoEstoque.Price);
				lblNomeProduto.Text = produtoEstoque.Name;
				hdnFieldId.Value = produto.id.ToString();

				if (produtoEstoque.Quantity == 0)
				{
					btnComprar.Visible = false;
				}
				else
				{
					btnComprar.Visible = true;
				}
			}
			else
			{
				Response.Redirect("~/");
			}
		}

		protected void btnComprar_Click(object sender, EventArgs e)
		{
			int idProduto = Convert.ToInt32(hdnFieldId.Value);
			if (!Usuario.PedidoAtual.PedidoItems.Exists(a => a.idProduto == idProduto))
			{
				Usuario.PedidoAtual.PedidoItems.Add(new PedidoItem()
				{
					idProduto = idProduto
				});
				Response.Redirect("~/Carrinho.aspx");
			}
			else
			{
				litJaExiste.Visible = true;
			}
		}

		protected void btnVoltar_Click(object sender, EventArgs e)
		{
			Response.Redirect("~/ListaProdutos.aspx?idCategoria=" + (string)Session["idCategoria"]);
			Session.Remove("idCategoria");
		}
	}
}